<?php
include_once dirname(__FILE__) . '/IPNListener.class.php';
//require_once 'IPNListener.class.php';

class EfListener extends IPNListener
{
	protected function isVerifiedAmmount()
	{				
		$id_contratto = $_POST['item_number']; 
		
		$sql = "SELECT costo FROM contratti WHERE id_contratto = $id_contratto";
		//die($sql);
		$result = mysql_query($sql, $this->conn) or $this->debugMail(__LINE__, "Query failed");
		//$result = mysql_query ($sql, $this->conn);
		if ($rowContratto = mysql_fetch_array($result))
			$costo = $rowContratto['costo'];
		else		
			$costo = 0;
		echo($sql);
$this->debugMail(__LINE__, "costo post: ".$_POST['mc_gross']);
$this->debugMail(__LINE__, "costo cdb: ".$costo);
		if($_POST['mc_gross'] == $costo)
		{
			return TRUE;
		}
$this->debugMail(__LINE__, "isVerifiedAmmount ko");

		return FALSE;
	}

	protected function isNotProcessed()
	{
		$sql = "SELECT * FROM contratti WHERE id_transazione='$_POST[txn_id]'";
		$res = mysql_query($sql, $this->conn);
		if(mysql_num_rows($res))
		{
			return FALSE;
		}
		return TRUE;
	}

	protected function getRandPassword()
	{
		$result = "";
		for($i = 0;$i < 10; $i++)
		{
			$chr = rand(40,126);
			$result .= chr($chr);
		}
		return $result;
	}

	protected function sendMailAttivazioneContratto($contratto)
	{
		if(SIMULATION)
		{
			$to = ADMIN_MAIL;
			$add = "- SIMULAZIONE -";
		}
		else
		{
			$to = $_POST['payer_email'];
			$add = "";
		}

		$subject = "$add Attivazione annuncio su EscortFashion";
		$from = NO_REPLY;
		$message = "Ciao $_POST[first_name] e benvenuto su EscortFashion\r\n";
		$message .= "Abbiamo ricevuto il pagamento dell'Abbonamento e il tuo contratto: ";
		$message .= "$contratto è ora on-line \r\n\r\n";
		$message .= "Your exclusive Toy - EscortFashion";

		mail($to,$subject,$message,"From: noreply<$from>");
	}

	public function setPaymentOK()
	{
		if($this->isReadyTransaction())
		{				
			$id_user = $_POST['custom']; 
			$id_contratto = $_POST['item_number']; 

			//$id_contratto = $_POST["custom"];
		
			$sql = "UPDATE contratti
			SET id_transazione = '$_POST[txn_id]', dt_pagamento = now() 
			WHERE id_contratto = $id_contratto";			
			//VALUES ('$_POST[first_name]','$_POST[last_name]','$_POST[payer_email]','$_POST[payer_email]','$md5password','$_POST[txn_id]')";

			mysql_query($sql,$this->conn);
			
			$sql = "UPDATE utenti
			SET f_attivo_admin = 'S' 
			WHERE user_id = $id_user";			

			mysql_query($sql,$this->conn);
			$this->sendMailAttivazioneContratto($id_contratto);
		}
		else
			echo("Ci sono stati dei problemi<BR>");
	}
	public function debugMail($line, $msg)  
	{  
		mail("gabbracciavento@inwind.it", "DEBUG", "$msg", "Riga: $line");  
	} 
}
echo("Inizio Listener<BR>");
$ipn = new EfListener();
//$ipn->debugMail(__LINE__, "Inizio Listener");

$ipn->setPaymentOK();
echo("Fine Listener<BR>");
//$ipn->debugMail(__LINE__, "Fine Listener");
?>
 